API Key Request Procedure
Applies to: Requesting an API key or access token for Axiom or Langfuse Where it happens: Slack â Linear Who this is for: Any Legion Security team member who needs a scoped credential for one of these tools
1. Submit the Requestâ
- In Slack, run
/linear, select Create New Issue, and then select the API Key Request template. - Select the Administration team, if it isn't already the default.
- Fill in the form fields:
- Tool â Axiom or Langfuse
- Project / Region â the specific project, dataset, or region the key needs access to
- Purpose â a short justification (what it's for, not just "need access")
- Needed until â if the key is temporary; this sets the issue's due date and drives automatic expiration
- Submit.
That's the entire requester-side action â no follow-up ticket routing, no manual pinging, and no special posting ritual required. Plain /linear is all you need; how you'll hear back is handled automatically regardless of how the issue was created (see Section 3).
2. What Happens After You Submitâ
- The issue is created in the Administration team, tagged with the
API Key Requestlabel (plus an Axiom or Langfuse sub-label). It is not filed under a separate project â the label is what drives routing. - A saved Linear view scoped to that label automatically pushes a notification into the private
#api-key-requestsSlack channel, visible only to the fulfilling admins. - No manual triage step happens on your end â the right people are notified the moment you submit.
3. Receiving Your Keyâ
- An admin will provision the key directly in Axiom or Langfuse, scoped to what you requested.
- The credential itself is delivered via 1Password â it will not be pasted into the Slack channel or the Linear issue comments. Only metadata (key ID, issuance date) is recorded there.
- You'll get a Slack DM automatically the moment the admin marks the issue Done â no polling the issue, no asking around. The message includes what you requested (tool, project/region, purpose) and a direct link back to the issue.
- If the request is declined or canceled instead, you'll get a different DM saying so, with a link to the issue for details on why.
- If you haven't heard either way and it's time-sensitive, comment directly on the Linear issue (the link is in your original confirmation) rather than opening a duplicate request.
For Fulfilling Admins: Sharing the Credential via 1Passwordâ
- Open 1Password in your browser or app and select the credential you want to share.
- Click the Share button (or the ellipsis menu and choose Share).
- Under recipient settings, select Only some people instead of anyone with the link.
- Enter your team member's specific email address.
- Set an expiration timeframe (from 1 hour up to 30 days).
- Copy the generated link and send it directly to your colleague.
4. Expiration & Renewalâ
- If you gave a Needed until date, expect the key to be revoked on or around that date â this is by design, not an error.
- If you still need access beyond that date, submit a new request (or comment on the existing issue) before it expires. Don't wait until after expiration to ask for an extension â that creates a gap in access and a messier audit trail.
- If your need was open-ended and you left Needed until blank, the key won't be auto-revoked â but it's still good practice to close the loop with the fulfilling admin once you no longer need it.
Quick Referenceâ
| Step | Who does it |
|---|---|
Run /linear, fill in template, submit | You (requester) |
Routing to #api-key-requests (admin channel) | Automatic (Linear) |
| Provision the key | Fulfilling admin |
| Deliver credential securely via 1Password | Fulfilling admin |
| Mark issue Done or Canceled â auto-DM to you | Automatic, triggered by admin's status change |
| Revoke at expiration | Fulfilling admin |
| Request renewal before expiry | You (requester) |